#include<stdio.h>

int main()
{
    printf("sizeof(bool) = %zd\n", sizeof(bool));
	printf("sizeof(char) = %zd\n", sizeof(char));
    printf("sizeof(short) = %zd\n", sizeof(short));
    printf("sizeof(int) = %zd\n", sizeof(int));
    printf("sizeof(long) = %zd\n", sizeof(long));
    printf("sizeof(long long) = %zd\n", sizeof(long long));
    printf("sizeof(float) = %zd\n", sizeof(float));
    printf("sizeof(double) = %zd\n", sizeof(double));
    printf("sizeof(long double) = %zd\n", sizeof(long double));

    int a = 100;
    printf("%zd\n", sizeof a);

    printf("========================================\n");

    short s = 2;
    int b = 10;
    
    printf("%zd\n", sizeof(s = b + 1));
    printf("s = %d\n", s);  //sizeof中的表达式不参与运算，是根据类型来判断，而不是计算结果
    //表达式是在运行时才计算结果，而sizeof是在编译时进行类型推导

	return 0;
}